package com.indusfo.spc.controller;

import com.indusfo.spc.pojo.ProcessVer;
import com.indusfo.spc.service.ProcessVerService;
import com.indusfo.spc.vo.JSONObject;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.annotation.Resource;
import java.util.List;

/**
 * 类说明:工艺版本 控制层
 *
 * @author 王辉
 *
 * @version 创建时间：2018年12月10日 上午10:11:03
 */
@Controller
@RequestMapping("/processVer")
public class ProcessVerController {
	@Resource
	ProcessVerService processVerService;
	@RequestMapping("/insertProcessVer")
	@ResponseBody
	public JSONObject insertProcessVer(ProcessVer processVer) {
		JSONObject json = processVerService.insertOrUpdateProcessVer(processVer);
		return json;
	}

	/**
	 * 删除/启用/停用,实际为将状态字段进行更改
	 *
	 * @param
	 * @return
	 * @author 王辉
	 *
	 * @Version 修改时间:2018年12月10日,下午1:49:47
	 */
	@RequestMapping("/deleteProcessVer")
	@ResponseBody
	public JSONObject deleteProcessVer(@RequestParam("lProVerIds") List<Integer> lProVerIds, Integer lDataState) {
		JSONObject json = processVerService.deleteProcessVer(lProVerIds, lDataState);
		return json;
	}

	/**
	 * 更新
	 *
	 * @param
	 * @return
	 * @author 王辉
	 *
	 * @Version 修改时间:2018年12月10日,下午5:07:53
	 */
	@RequestMapping("/updateProcessVer")
	@ResponseBody
	public JSONObject updateProcessVer(ProcessVer processVer) {
		JSONObject json = processVerService.insertOrUpdateProcessVer(processVer);
		return json;
	}

	/**
	 * 查询
	 *
	 * @param
	 * @return
	 * @author 王辉
	 *
	 * @Version 修改时间:2018年12月10日,下午12:59:34
	 */
	@RequestMapping("/queryProcessVer")
	@ResponseBody
	public JSONObject queryProcessVer(ProcessVer processVer) {
		JSONObject json = processVerService.queryProcessVer(processVer);
		return json;
	}

	/**
	 * @Author 熊冰
	 * @Date 2019/10/21 9:16
	 *  导入标准流程
	 *  导入的目标产品  matId
	 *  标准流程id  lProVer
	 *  是否导入维修下线 isOffine
	 *  是否导入工位  isSta
	 *  是否导入检测项目  isTarget
	 *  是否导入关联物料 isBom
	 *  是否导入不良现象  isBlxx
	 */
	@RequestMapping("/leadProcessVer")
	@ResponseBody
	public JSONObject leadProcessVer(Integer matId,Integer lProVer,Integer isOffine,Integer isSta,Integer isTarget,Integer isBom,Integer isBlxx) {
		JSONObject json = processVerService.leadProcessVer(matId,lProVer,isOffine,isSta,isTarget,isBom,isBlxx);
		return json;
	}

	//保存  List<ProcessFlow> processFlowLis
	@RequestMapping("/saveProcessFlow")
	@ResponseBody
	public JSONObject saveProcessFlow(@RequestBody ProcessVer processVer) {
		JSONObject jsonObject = processVerService.saveProcessFlow(processVer);
//		JSONObject jsonObject =JSONObject.oK()

		return jsonObject;
	}

	//保存  维修流程
	@RequestMapping("/saveProcessOffline")
	@ResponseBody
	public JSONObject saveProcessOffline(@RequestBody ProcessVer processVer) {
		JSONObject jsonObject = processVerService.saveProcessOffline(processVer);
		return jsonObject;
	}

	//保存  维修流程工序
	@RequestMapping("/saveProcessExchange")
	@ResponseBody
	public JSONObject saveProcessExchange(@RequestBody ProcessVer processVer) {
		JSONObject jsonObject = processVerService.saveProcessExchange(processVer);
		return jsonObject;
	}

	//保存  维修流程维修子工序采集项目
	@RequestMapping("/saveProcessOfflineList")
	@ResponseBody
	public JSONObject saveProcessOfflineList(@RequestBody ProcessVer processVer) {
		JSONObject jsonObject = processVerService.saveProcessOfflineList(processVer);
		return jsonObject;
	}

}
